﻿using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Text.RegularExpressions;
namespace Tal.CaptchaControl
{
    /// <summary>
    /// Summary description for TextGenerator
    /// </summary>
    public abstract class TextGenerator
    {
        /// <summary>
        /// The type of characters to display in the picture
        /// </summary>
        public enum CharacterType
        {
            /// <summary>
            /// Letters and numbers
            /// </summary>
            AlphaNumeric,

            /// <summary>
            /// Letters only
            /// </summary>
            LettersOnly,

            /// <summary>
            /// Numbers only
            /// </summary>
            NumbersOnly
        }
        public TextGenerator()
        {
            //
            // TODO: Add constructor logic here
            //
        }

        /// <summary>
        /// Generates a random text
        /// </summary>
        /// <param name="charactersTypes">The type of the characters in the text</param>
        /// <returns>A random string</returns>
        /// <exception cref="ArgumentOutOfRangeException"></exception>
        public abstract string Generate(CharacterType charactersTypes);
        
    }
}